package src;


import java.util.Date;
import java.util.Random;

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 *
 * @author usuario_local
 */
public class Mensaje implements Comparable<Mensaje>{

    //Atributos
    private String msg_texto;
    private Usuario msg_autor;
    private int msg_id;
    private Date msg_fecha;

    //Getters y Setters

    public String getTexto(){
        return msg_texto;
    }

    public Usuario getAutor(){
        return msg_autor;
    }

    public int getID(){
        return msg_id;
    }

    public Date getFecha(){
        return msg_fecha;
    }

    public void setTexto(String texto){
        msg_texto = texto;
    }

    public void setAutor(Usuario autor){
        msg_autor = autor;
    }

    // Este a lo mejor no deberia usarse...mmodificar fechas?
    public void setFecha(Date fecha){
        msg_fecha = fecha;
    }

    // Metodos auxiliares
    private int generarID(int max){
        Random generador = new Random(max);
        int idgenerada = generador.nextInt();
        return idgenerada;
    }

    // Creamos un nuevo mensaje con la fecha actual y una ID aleatoria
    public Mensaje(String texto, Usuario autor){
        // Generacion de la ID aleatoria
        msg_id = generarID(123456);
        // Cogemos la fecha actual
        msg_fecha = new Date();
        // Y rellenamos los campos que nos han llegado por parametro
        msg_texto = texto;
        msg_autor = autor;
    }
    
    @Override
    public int compareTo(Mensaje o) {
        return (this.msg_fecha.compareTo(o.msg_fecha));
    }   

}
